package net.hn.hnms.biz.project.request;

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import net.hn.hnms.biz.project.domain.ConstructionTask;

import java.util.Date;
import java.util.List;

/**
 * @author 刘昊
 * @date 2024-03-13 16:54
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel("施工计划")
public class ConstructionPlanReq extends BaseReq{
    @ApiModelProperty(value = "id")
    private String constructionId;

    @ApiModelProperty(value = "项目id")
    private String projectId;

    @ApiModelProperty(value = "项目名称")
    private String projectName;

    @ApiModelProperty(value = "项目IDList")
    private List<String> projectIds;

    @ApiModelProperty(value = "项目编号")
    private String projectCode;

    @ApiModelProperty(value = "项目负责人")
    private String projectLeader;

    @ApiModelProperty(value = "立项日期")
    @JsonFormat(
            pattern = "yyyy-MM-dd"
    )
    private Date projectDate;

    @ApiModelProperty(value = "计划名称")
    private String planName;

    @ApiModelProperty(value = "施工单位")
    private String constructionUnit;

    @ApiModelProperty(value = "计划制定日期")
    @JsonFormat(
            pattern = "yyyy-MM-dd"
    )
    private Date planningDate;

    @ApiModelProperty(value = "计划开始日期")
    @JsonFormat(
            pattern = "yyyy-MM-dd"
    )
    private Date planningStartDate;

    @ApiModelProperty(value = "计划结束日期")
    @JsonFormat(
            pattern = "yyyy-MM-dd"
    )
    private Date planningEndDate;

    @ApiModelProperty(value = "计划总用时(天)")
    private String planningTotalTime;

    @ApiModelProperty(value = "公司编码")
    private String companyCode;

    @ApiModelProperty(value = "文件名称")
    private String projectFileName;

    @ApiModelProperty(value = "文件路径")
    private String projectFilePath;

//    @ApiModelProperty(value = "任务名称")
//    @TableField(updateStrategy= FieldStrategy.IGNORED)
//    private String taskName;
//
//    @ApiModelProperty(value = "任务描述")
//    @TableField(updateStrategy= FieldStrategy.IGNORED)
//    private String taskDescription;
//
//    @ApiModelProperty(value = "任务负责人")
//    @TableField(updateStrategy= FieldStrategy.IGNORED)
//    private String taskLeader;
//
//    @ApiModelProperty(value = "任务开始日期")
//    @JsonFormat(
//            pattern = "yyyy-MM-dd"
//    )
//    @TableField(updateStrategy= FieldStrategy.IGNORED)
//    private Date taskStartDate;
//
//    @ApiModelProperty(value = "任务结束日期")
//    @JsonFormat(
//            pattern = "yyyy-MM-dd"
//    )
//    @TableField(updateStrategy= FieldStrategy.IGNORED)
//    private Date taskEndDate;
//
//    @ApiModelProperty(value = "备注")
//    @TableField(updateStrategy= FieldStrategy.IGNORED)
//    private String remark;

    @ApiModelProperty(value = "施工 任务")
    @TableField(updateStrategy= FieldStrategy.IGNORED)
    private List<ConstructionTask> constructionTaskList;

    @ApiModelProperty(value = "煤矿编码")
    private String mineCode;
}
